<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3//EN">
<HTML><HEAD>
<TITLE>IBM Visualization Data Explorer Programmer&#39;s Reference</TITLE>

<META HTTP-EQUIV="abstract" CONTENT="IBM Visualization Data Explorer
Programmer&#39;s Reference">
<META HTTP-EQUIV="contact" CONTENT="IBM Visualization Data Explorer
(ibmdx@watson.ibm.com)">
<META HTTP-EQUIV="owner" CONTENT="IBM Visualization Data Explorer
(ibmdx@watson.ibm.com)">
<META HTTP-EQUIV="updated" CONTENT="Tue, 16 Sep 1997 ">
<META HTTP-EQUIV="review" CONTENT="Fri, 14 Aug 1998 ">

<META HTTP-EQUIV="keywords" CONTENT="GRAPHICS VISUALIZATION VISUAL PROGRAM DATA
MINING">
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
</HEAD><BODY BGCOLOR="#FFFFFF">

<A NAME="Top_Of_Page"></A>
<H1>IBM Visualization Data Explorer Programmer&#39;s Reference</H1>
<B>&#91; <A HREF="#Bot_Of_Page">Bottom of Page</A> &#124; <A
HREF="progu135.htm">Previous Page</A> &#124; <A HREF="progu137.htm">Next
Page</A> &#124; <A HREF="../proguide.htm#ToC">Table of Contents</A> &#124; <A
HREF="progu097.htm#PToC20">Partial Table of Contents</A> &#124; <A
HREF="progu344.htm#HDRINDEX_START">Index</A> &#93;</B><HR><P>
<H3><A NAME="HDRDXENDF" HREF="progu097.htm#PToC_230">DXEndField</A></H3>
<A NAME="IDX1652"></A>
<A NAME="IDX1653"></A>
<P><STRONG>Function</STRONG>
<P>
Creates the standard components "box" and "neighbors" that
other modules expect Field <TT><STRONG>f</STRONG></TT> to contain.
<P><STRONG>Syntax</STRONG>
<BR>
<TT><STRONG><BR>
&#35;include &lt;dx/dx.h&gt;<BR>
<P><BR>
Field DXEndField(Field f)<BR>
</STRONG></TT><BR>
<P><STRONG>Functional Details</STRONG>
<P>
The
"box"
component defines the corners of an
n-dimensional box that contains all of
the positions described by the Field&#39;s "positions"
The "neighbors" component contains information that provides
a mechanism for quick access to neighboring interpolation elements.
<TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT"
VALIGN="TOP">A "neighbors" component is not created for a Field
with regular connections.
</td></tr></table>
<P>
In addition,
<TT><STRONG>
DXEndField
</STRONG></TT>
sets the
"dep"
and "ref" attributes, if not already set,
on the components listed in <A HREF="#TBLCAT">Table 4</A>.
<BR>
<P><B><A NAME="TBLCAT" HREF="progu002.htm#FT_TBLCAT">Table 4. Set
Attributes</A></B><BR>
<TABLE BORDER>
<TR>
<TH ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">Component
</TH><TH ALIGN="LEFT" VALIGN="TOP" WIDTH="27%">Attribute
</TH><TH ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">Value
</TH></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"positions"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="27%">"dep"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"positions"
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"connections"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="27%">"ref"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"positions"
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"data"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="27%">"dep"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"positions"
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"colors"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="27%">"dep"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"positions"
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"front colors"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="27%">"dep"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"positions"
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"back colors"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="27%">"dep"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"positions"
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"opacities"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="27%">"dep"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"positions"
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"tangents"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="27%">"dep"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"positions"
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"normals"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="27%">"dep"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"positions"
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"binormals"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="27%">"dep"
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="37%">"positions"
</TD></TR></TABLE>
<P>
During this phase,
<TT><STRONG>
DXEndField
</STRONG></TT>
also checks to make sure that the number of
elements in a component being set to depend on the "positions"
component does actually match the number of positions in the Field.
<P>
<TT><STRONG>
DXEndField
</STRONG></TT>
also trims all of a Field&#39;s
component Arrays to use the amount of space
actually containing data as specified by
<TT><STRONG>DXAddArrayData</STRONG></TT>.  Thus, for optimal performance,
<TT><STRONG>
DXEndField
</STRONG></TT>
should be called just prior to returning a Field.  Further, after a call
to <TT><STRONG>DXEndField</STRONG></TT>, pointers obtained by calls to
<TT><STRONG>DXGetArrayData</STRONG></TT> to data contained in Arrays that
are components of a Field cannot be assumed valid.
<P>
If you are creating a Group that contains several Fields, then
<TT><STRONG>
DXEndObject
</STRONG></TT>
may be called instead on the Group structure.  This will parallelize
the application of
the <TT><STRONG>DXEndField</STRONG></TT> calls to the member Fields on
architectures that support parallelism.
<P>
For a more complete examination of a Field, including checks to
ensure that indices contained in components that refer to other
components are correct, see additional details
of the
<TT><STRONG>
Verify
</STRONG></TT>
module in <A HREF="refgu008.htm#HDRMDA">Chapter 1. "Data Explorer Tools"</A> in
<I>IBM Visualization Data Explorer User&#39;s Reference</I>.
<P><STRONG>Return Value</STRONG>
<P>
Returns <TT><STRONG>f</STRONG></TT> or returns <TT><STRONG>NULL</STRONG></TT>
and sets an error code.
<P><STRONG>See Also</STRONG>
<P>
<TT><STRONG>
<A HREF="progu111.htm#HDRDXBB">DXBoundingBox</A>,
<A HREF="progu113.htm#HDRDXCCVS">DXChangedComponentValues,
DXChangedComponentStructure</A>,
<A HREF="progu135.htm#HDRDXEMF">DXEmptyField</A>,
<A HREF="progu137.htm#HDRDXEO">DXEndObject</A>,
<A HREF="progu243.htm#HDRDXN">DXNeighbors</A>,
<A HREF="progu331.htm#HDRDXS">DXStatistics</A>,
<A HREF="refgu171.htm#HDRVERIFY">Verify</A>
</STRONG></TT>
<P>
<A HREF="progu050.htm#HDRSTDCS">"Standard Components"</A>.
<P><P>
<P><HR><B>&#91; <A HREF="#Top_Of_Page">Top of Page</A> &#124; <A
HREF="progu135.htm">Previous Page</A> &#124; <A HREF="progu137.htm">Next
Page</A> &#124; <A HREF="../proguide.htm#ToC">Table of Contents</A> &#124; <A
HREF="progu097.htm#PToC20">Partial Table of Contents</A> &#124; <A
HREF="progu344.htm#HDRINDEX_START">Index</A> &#93;</B> <br><b>&#91;<a
href="../allguide.htm">Data Explorer Documentation</a>&nbsp;&#124;&nbsp;<a
href="../qikguide.htm">QuickStart Guide</a>&nbsp;&#124;&nbsp;<a
href="../usrguide.htm">User&#39;s Guide</a>&nbsp;&#124;&nbsp;<a
href="../refguide.htm">User&#39;s Reference</a>&nbsp;&#124;&nbsp;<a
href="../proguide.htm">Programmer&#39;s Reference</a>&nbsp;&#124;&nbsp;<a
href="../insguide.htm">Installation and Configuration
Guide</a>&nbsp;&#93;</b><br><p><b>&#91;<a
href="http://www.research.ibm.com/dx">Data Explorer Home
Page</a>&#93;</b><p><HR ALIGN=LEFT WIDTH=600><b>&#91;<A
HREF="http://www.ibm.com/">IBM Home Page</A>&nbsp;&#124;&nbsp;<A
HREF="http://www.ibm.com/Orders/">Order</A>&nbsp;&#124;&nbsp;<A
HREF="http://www.ibm.com/Search/">Search</A>&nbsp;&#124;&nbsp;<A
HREF="http://www.ibm.com/Assist/">Contact IBM</A>&nbsp;&#124;&nbsp;<A
HREF="http://www.ibm.com/Legal/">Legal</A>&nbsp;&#93;</b><hr><p>
<A NAME="Bot_Of_Page"></A>
</BODY></HTML>
